home *** CD-ROM | disk | FTP | other *** search
- MODULE TestMem; (*$E MOS *)
-
- FROM SYSTEM IMPORT ADDRESS, ADR, TSIZE, BYTE, WORD, LONGWORD, VAL;
-
- FROM Terminal IMPORT WriteLn, WriteString, Read;
-
- FROM Storage IMPORT MemAvail, AllAvail, ALLOCATE;
-
- FROM StrConv IMPORT CardToStr;
-
- PROCEDURE WriteCard (n: LONGCARD; s: CARDINAL);
- BEGIN
- WriteString (CardToStr (n,s))
- END WriteCard;
-
- VAR ch:CHAR; p: ADDRESS; l,m: LONGCARD;
-
- BEGIN
- WriteLn;
- WriteLn;
- WriteString ('Largest free space: ');
- WriteCard (MemAvail (),0);
- WriteLn;
- WriteString ('Full free space : ');
- WriteCard (AllAvail (),0);
- WriteLn;
- WriteLn;
- WriteString ('Allocating...');
- WriteLn;
- l:= 0;
- m:= 0;
- WHILE AllAvail () > 100L DO
- m:= MemAvail ();
- ALLOCATE (p,m);
- IF p = NIL THEN
- WriteLn;
- WriteString ("Can't allocate ");
- WriteCard (m,0);
- WriteString (' Bytes !');
- Read (ch);
- RETURN
- END;
- l:= l + m;
- END;
- WriteLn;
- WriteString ("Have been allocated ");
- WriteCard (l,0);
- WriteString (' Bytes.');
- Read (ch)
- END TestMem.